简单图形绘制

遇到的问题

问题:再设置画布的时候出现了问题,导致运行不出结果;

解决办法:Canvas表示“画布”,该类定义类一系列的drawXXX方法(XXX为Point、Lines、Rect、Circle、Text等),利用它就可以操作各种画笔在画布上实现绘制各种图形或文本。在自定义View中,为了实现绘制,必须重写onDraw(Canvas canvas)方法,该方法传过来一个Canvas对象,有了该对象就可以绘制直线、矩形和文本等。一般步骤为:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

//生成画笔

Paint paint=new Paint();

//设置画笔的属性
paint.set…();

//使用画笔进行绘制
canvas.draw…(…,paint);
}

分析与理解

自定义View的基本代码:
public class CustomView extends View{
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
一般的绘制步骤:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

//生成画笔
Paint paint=new Paint();

//设置画笔的属性
paint.set…();

//使用画笔进行绘制
canvas.draw…(…,paint);
}

知识点小结

1、void drawARGB(int a, int r, int g, int b):设置画布整体的背景色
2、void drawColor(int color) :设置画布整体的背景色
3、void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, 4、boolean useCenter, Paint paint):绘制圆弧
5、void drawBitmap(Bitmap bitmap, float left, float top, Paint paint):绘制位图
6、自己绘制,在这个方法中,用户生成一个从View派生的类,然后重写该类的onDraw()方法,在此方法中绘制。为了实现绘制,应用程序至少需要4个组件:Bitmap(位图,用来存储像素)、Canvas(画布,实现在位图上绘制)、基本图元(Rect、Path、text、Bitmap等)和Paint(画笔,描述颜色和图型等)。可以调用invalidate()方法对图形进行重新绘制或刷新。
7、必须有一个Bitmap,该对象用来保存像素,最终生成的图形就是存放在该对象上的,用户可以将之保存到存储器上,也可以将存储器上的图像装载到该对象上。必须有Canvas,用来实现绘制。必须有Paint表示画笔。

results matching ""

    No results matching ""